package com.ctshk.rpc.custom.dto.quotation;

import com.ctshk.rpc.custom.json.ContactTelephoneJson;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 报价单详情dto
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-01-18
 */
@Data
@ApiModel(value="QuotationInfoDTO", description="报价单详情dto")
public class QuotationInfoDTO implements Serializable {

    @ApiModelProperty(value = "报价单ID)")
    private Long id;

    @ApiModelProperty(value = "询价单id")
    private Long inquiryId;
    @ApiModelProperty(value = "询价单号")
    private String inquiryNumber;

    @ApiModelProperty(value = "大客户名称")
    private String bigClientName;
    @ApiModelProperty(value = "客户类型(1 散客,2 大客户)")
    private Integer customerType;
    @ApiModelProperty(value = "联络人中文姓名")
    private String contactCnFullName;
    @ApiModelProperty(value = "联络人英文姓名")
    private String contactEnFullName;
    @ApiModelProperty(value = "联络人性别)")
    private Long contactGender;
   @ApiModelProperty(value = "联络人联系方式(英文逗号隔开)")
    private String contactTelephones;

    @ApiModelProperty(value = "联络电话列表")
    private List<ContactTelephoneJson> contactTelephoneJsonList;

    @ApiModelProperty(value = "联系邮箱")
    private String contactEmail;
    @ApiModelProperty(value = "内部备注")
    private String internalRemark;
    @ApiModelProperty(value = "报价标题")
    private String quotationTitle;
    @ApiModelProperty(value = "报价说明")
    private String instruction;
    @ApiModelProperty(value = "报价方式(1 自由报价,2 行程报价)")
    private Integer quotationType;
    @ApiModelProperty(value = "团费类型(1 人均,2 服务费)")
    private Integer groupFeeType;
    @ApiModelProperty(value = "报价单状态(1 继续询价,2 已报价,3 待开团,4 已开团)")
    private Integer quotationStatus;
    @ApiModelProperty(value = "报价有效期起始")
    private LocalDate beginDate;
    @ApiModelProperty(value = "报价有效期结束")
    private LocalDate endDate;
    @ApiModelProperty(value = "总费用")
    private BigDecimal totalAmount;
    @ApiModelProperty(value = "代收费用")
    private List<CollectionFeeDTO> collectionFeeList;

    @ApiModelProperty(value = "代收费用小计")
    private List<SubtotalDTO> subtotalList;

    @ApiModelProperty(value = "自由报价套餐列表")
    private List<FreePackageDTO> freePackageList;
    @ApiModelProperty(value = "行程报价套餐列表")
    private List<TripQuoteDTO> tripQuoteList;
    @ApiModelProperty(value = "报价合计")
    private QuetationAmountInfoDTO amountInfo;
}
